home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 045 (1988-02-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 045 (1988-02-15)(Ossowski, Stefan)(DE)(PD).adf / Iff2Pcs / Source / pzmenu.c < prev    next >
C/C++ Source or Header  |  1988-01-20  |  1KB  |  59 lines

  1. /* Ali T. Ozer  
  2. ** Menu open/close routines for iff2pcs.
  3. ** Nov 1987
  4. */
  5.  
  6. #include "pz.h"
  7. #include "popmenu.h"
  8.  
  9. #define ITEMHEIGHT  9
  10. #define NUMITEMS    4
  11.  
  12. struct PopUp_Menu pzmenu;    
  13.   
  14. struct PopUp_Item pzitem[] = {
  15.   {" Show ",   SHOWCMD,   1,3,ITEMHEIGHT,0,0,&pzitem[1]},   
  16.   {" Check ",  CHECKCMD,  1,2,ITEMHEIGHT,0,0,&pzitem[2]},
  17.   {" Help ",   HELPCMD,   1,2,ITEMHEIGHT,0,0,&pzitem[3]},
  18.   {" Quit ",   QUITCMD,   1,6,ITEMHEIGHT,0,0,NULL}
  19. };
  20.  
  21.  
  22. /* To free things intelligently... 
  23. */
  24. #define MENUPACKAGEOPENED  1
  25. #define MENUALLOCATED      2
  26.  
  27. static int pzmenustatus;
  28.  
  29. int InitPzMenu (screendepth, textcolor, bordercolor, areacolor)
  30. int screendepth, textcolor, bordercolor;
  31. {
  32.   int cnt; 
  33.  
  34.   pzmenustatus = 0;
  35.  
  36.   if (!Init_MenuPackage ()) return (false);
  37.  
  38.   pzmenustatus = MENUPACKAGEOPENED;
  39.  
  40.   for (cnt = 0; cnt < NUMITEMS; cnt++) pzitem[cnt].color = textcolor;
  41.   pzmenu.depth         = screendepth;
  42.   pzmenu.deactivate    = MENUUP;
  43.   pzmenu.outline_color = bordercolor;
  44.   pzmenu.area_color    = areacolor;
  45.   pzmenu.first_item    = &pzitem[0];
  46.   if (!Init_PopUp_Menu(&pzmenu)) return (false); 
  47.  
  48.   pzmenustatus = MENUALLOCATED;
  49.  
  50.   return (true);
  51. }
  52.  
  53. FreePzMenu ()
  54. {
  55.   if (pzmenustatus >= MENUALLOCATED) Dispose_PopUp (&pzmenu);
  56.   if (pzmenustatus >= MENUPACKAGEOPENED) Close_MenuPackage ();
  57. }
  58.  
  59.